package com.yunhe.policyfulfillment.policyful.service;

import com.yunhe.common.exception.ArgumentErrorException;
import com.yunhe.common.model.mybatis.PageResult;
import com.yunhe.policyfulfillment.policyful.domain.AppealSatisfaction;
import com.yunhe.policyfulfillment.policyful.model.DateCondition;
import com.yunhe.policyfulfillment.policyful.model.IndexSatisfactionStatistics;

/**
 * @ClassName: AppealSatisfactionService
 * @Description:
 * @author: GongDaCheng
 * @Date: 13:42 2021/10/8
 */
public interface AppealSatisfactionService {
    /**
     * @Description 新增诉求满意度
     * @Param AppealSatisfaction appealSatisfaction
     * @Return int
     * @Date 2021/10/8 13:42
     */
    int createAppealSatisfaction (AppealSatisfaction appealSatisfaction) throws ArgumentErrorException;

    /**
     * @Description 删除诉求满意度
     * @Param long id
     * @Return
     * @Date 2021/10/8 13:42
     */
    int deleteAppealSatisfaction(long id);

    /**
     * @Description 更新诉求满意度
     * @Param AppealSatisfaction appealSatisfaction
     * @Return int
     * @Date 2021/10/8 13:42
     */
    int updateAppealSatisfaction(AppealSatisfaction appealSatisfaction);

    /**
     * @Description 根据求满意度id查询诉求满意度
     * @Param long id
     * @Return AppealSatisfaction
     * @Date 2021/10/8 13:42
     */
    AppealSatisfaction findAppealSatisfactionById(long id);


    /**
     * @Description 首页诉求满意度统计
     * @Param
     * @Return IndexSatisfactionStatistics
     * @Date 2021/10/8 14:26
     */
    IndexSatisfactionStatistics indexAppealSatisfactionStatistics();

    /**
     * @Description 满意度统计（数据统计导航中）
     * @Param DateCondition dateCondition
     * @Return PageResult
     * @Date 2021/10/8 17:48
     */
    PageResult satisfactionStatistics(DateCondition dateCondition);
}
